#ifndef DETECT_ESTIMATOR_H
#define DETECT_ESTIMATOR_H

#include "detect_structure.h"
// 测角处理器 (使用DBF技术)
class AngleEstimator
{
private:
    RadarParameters params;
    std::vector<float> antenna_positions;

public:
    AngleEstimator(const RadarParameters &radar_params)
        : params(radar_params)
    {
        // 计算天线位置 (线性阵列)
        for (int i = 0; i < params.num_antennas; ++i)
        {
            antenna_positions.push_back(i * params.antenna_spacing);
        }
    }

    // 波束形成 - 计算空间谱
    std::vector<float> beamforming(const std::vector<Complex> &antenna_data,
                                   const std::vector<float> &angles);

    // MUSIC算法 - 高分辨率测角
    std::vector<float> musicAlgorithm(const std::vector<Complex> &antenna_data,
                                      const std::vector<float> &angles, int signal_num);

    // 估计角度
    float estimateAngle(const std::vector<Complex> &antenna_data,
                        const std::vector<float> &angles);
};


#endif